.TH std::stacktrace_entry::source_file 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::stacktrace_entry::source_file \- std::stacktrace_entry::source_file

.SH Synopsis
   std::string source_file() const;  (since C++23)

   Returns the presumed or actual name of the source file that lexically contains the
   expression or statement whose evaluation is represented by *this, or an empty string
   on failure other than allocation failure, e.g. when *this is empty.

   Either source_file returns the presumed source file name and source_line returns the
   presumed line number, or source_file returns the actual source file name and
   source_line returns the actual line number.

.SH Parameters

   \fI(none)\fP

.SH Return value

   The name of the source file specified above on success, an empty string on failure
   other than allocation failure.

.SH Exceptions

   Throws std::bad_alloc if memory for the internal data structures or the resulting
   string cannot be allocated.

.SH Notes

   The presumed name of the source file is what the predefined macro __FILE__ expands
   to, and can be changed by the #line directive.

    This section is incomplete
    Reason: definition of "actual name" is missing (LWG issue 3507)

   Custom allocators support for this function is not provided, because the
   implementations usually require platform specific allocations, system calls and a
   lot of CPU intensive work, while a custom allocator does not provide benefits for
   this function as the platform specific operations take an order of magnitude more
   time than the allocation.

.SH Example

    This section is incomplete
    Reason: no example

.SH See also

   file_name return the file name represented by this object
             \fI(public member function of std::source_location)\fP

.SH Categories:
     * Todo with reason
     * Todo no example
